/*
 * Copyright 2016-2017 TVI Go Easy.
 * Created on 2017/9/29 12:28
 */
package com.gitee.mechanic.mybatis.base;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;

import java.util.List;

/**
 * 扩展 Mybatis plus IService 接口，并增加自定义的公共接口。
 *
 * @author mechanic
 */
public interface SuperService<T> extends IService<T> {
    /**
     * <p>
     * 查询列表
     * </p>
     * SuperService
     *
     * @return List&lt;T&gt;
     */
    List<T> selectList();

    /**
     * <p>
     * 查询列表
     * </p>
     *
     * @param wrapper 实体包装类 {@link Wrapper}
     * @return List&lt;T&gt;
     */
    @Override
    List<T> selectList(Wrapper<T> wrapper);

    /**
     * <p>
     * 翻页查询
     * </p>
     *
     * @param pageNum 页码
     * @return Page&lt;T&gt;
     */
    public Page<T> selectPage(int pageNum);

    /**
     * <p>
     * 翻页条件查询
     * </p>
     *
     * @param wrapper 实体包装类 {@link Wrapper}
     * @param pageNum 页码
     * @return Page&lt;T&gt;
     */
    public Page<T> selectPage(Wrapper<T> wrapper, int pageNum);
}
